package com.shujia;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Table;

import java.io.IOException;

public class Demo01TestHBaseConn {
    public static void main(String[] args) throws IOException {
        // 创建一个HBase的配置
        Configuration conf = HBaseConfiguration.create();
        // 配置HBase所属ZK集群的地址
        conf.set("hbase.zookeeper.quorum", "master:2181,node1:2181,node2:2181");

        // 建立连接
        Connection conn = ConnectionFactory.createConnection(conf);
        /*
         HBase的操作分类：
         1、对表结构（元数据）的操作 --> Admin对象
         2、对表数据的操作 --> Table对象
         */

        // 获取所有表的名字，这个操作跟表的数据无关
        Admin admin = conn.getAdmin();

        // HBase 中的表名都以TableName对象形式存在
        TableName[] tableNames = admin.listTableNames();

//        TableName tableName = TableName.valueOf("tb2");
        for (TableName tableName : tableNames) {
            System.out.println(tableName.getNameAsString());
        }

        // 关闭连接
        admin.close();
        conn.close();


    }
}
